There are several different data version control mechanisms currently employed by organizations to ensure that data collaboration efforts can be maintained. Conventionally, data in the form of a document, for example, can be checked out of a central repository for editing, and safely uploaded to the repository at a later time, with little impact on the organization. However, offline/online source code control (SCC) can present more costly problems if such control is not exercised more carefully. Organizations involved in software development typically employ a SCC system for managing source code assets being produced by software developers. These systems provide three principal benefits to these organizations by serving as a central repository for storing and securing electronic assets being created in an organization, retaining historical information regarding how electronic assets have evolved over time and provide access to historical versions of these assets, and providing a mechanism for individual developers to share their work with other team members.
In the course of using the system for the third listed benefit, individual contributors frequently work in an offline capacity while disconnected from the central repository. Upon regaining connectivity to the repository, the contributor must reconcile many of the offline changes with the SCC system. However, without a mechanism for tracking changes that are made while offline, the contributor must retrace all activities and manually reconcile changes. Often, this process results in dropped changes that do not get reconciled until another user encounters a problem working with the source code, and traces issues back to the original contributor.
What is needed is an improved control mechanism for tracking source code changes while offline.